@charset "utf-8";
/* CSS Document */
body  {
	font: 100% Verdana, Arial, Helvetica, sans-serif;
	background: #666666;
	margin: 0; /* è buona norma impostare a zero i valori margin e padding dell'elemento body per tenere conto delle diverse impostazioni predefinite dei browser*/
	padding: 0;
	text-align: center; /* centra il contenitore nei browser IE 5*. Il testo viene quindi impostato con l'allineamento predefinito a sinistra nel selettore #container */
	color: #000000;
}

/* Suggerimenti per i layout elastici 
1. Poiché le dimensioni generali dei layout elastici sono basate sulla dimensione predefinita del carattere dell'utente, il risultato di questi layout è meno prevedibile. Se usati correttamente, risultano più accessibili per gli utenti che hanno bisogno di visualizzare i caratteri con dimensioni maggiori, perché la lunghezza delle righe rimane proporzionale.
2. Le dimensioni dei div di questo layout sono basate sul 100% della dimensione del carattere nell'elemento body. Se si riduce la dimensione generale del testo specificando font-size: 80% nell'elemento body o in #container, ricordarsi che l'intero layout si ridurrà in proporzione. Per compensare eventualmente questo effetto, si può aumentare la larghezza dei vari div.
3. Se le dimensioni dei caratteri vengono modificate in modo diverso per ogni div anziché a livello globale (ovvero, se si assegna a #sidebar1 una dimensione di carattere del 70% e a #mainContent dell'85%), le dimensioni generali di ciascun div verranno modificate in modo proporzionale. È possibile adattare il risultato in base alle dimensioni finali dei caratteri.
*/
.twoColElsLtHdr #container { 
	width: 46em;  /* questa larghezza crea un contenitore che riempie una finestra del browser di 800 px se il testo viene lasciato alle dimensioni di carattere predefinite del browser */
	background: #FFFFFF;
	margin: 0 auto; /* i margini auto (insieme a una larghezza) centrano la pagina */
	border: 1px solid #000000;
	text-align: left; /* sostituisce l'impostazione text-align: center nell'elemento body. */
} 
.twoColElsLtHdr #header { 
	background: #DDDDDD; 
	padding: 0 10px;  /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sottostanti. Se in #header viene utilizzata un'immagine anziché un testo, può essere utile rimuovere il padding. */
} 
.twoColElsLtHdr #header h1 {
	margin: 0; /* azzerando il valore margin dell'ultimo elemento del div #header si evita la compressione del margine, con la creazione di uno spazio inspiegabile tra i div. Se il div è circondato da un bordo, questo accorgimento non è necessario perché anche il bordo impedisce la compressione del margine */
	padding: 10px 0; /* l'uso del valore padding al posto di margin consente di distanziare l'elemento dai bordi del div */
}

/* Suggerimenti per sidebar1:
1. Se si imposta un valore font-size per questo div, la larghezza globale del div viene modificata di conseguenza.
2. Poiché si lavora in ems, è meglio non applicare un padding alla barra laterale, poiché, nei browser conformi agli standard, verrebbe aggiunto alla larghezza producendo una larghezza effettiva non prevedibile. 
3. Per creare spazio tra il lato del div e gli elementi al suo interno, è possibile applicare un margine sinistro e destro a tali elementi, come descritto nella regola ".twoColElsLtHdr #sidebar1 p".
*/
.twoColElsLtHdr #sidebar1 {
	float: left; 
	width: 12em; /* poiché questo elemento è mobile, occorre specificare una larghezza */
	background: #EBEBEB; /* il colore di sfondo verrà visualizzato per tutta la lunghezza del contenuto all'interno della colonna, ma non oltre */
	padding: 15px 0; /* un padding superiore e inferiore creano uno spazio visivo all'interno di questo div */
}
.twoColElsLtHdr #sidebar1 h3, .twoColElsLtHdr #sidebar1 p {
	margin-left: 10px; /* è necessario applicare un margine sinistro e destro a ogni elemento che verrà inserito nelle colonne laterali */
	margin-right: 10px;
}

/* Suggerimenti per mainContent:
1. Se si assegna a questo div #mainContent un valore font-size diverso dal div #sidebar1, i margini del div #mainContent e la larghezza del div #sidebar1 saranno basati sui rispettivi valori font-size. Può essere utile modificare i valori di questi div.
2. Lo spazio tra mainContent e sidebar1 viene creato con il margine sinistro del div mainContent.  Indipendentemente dalla quantità di contenuto presente nel div sidebar1, lo spazio della colonna rimane inalterato. È possibile rimuovere questo margine sinistro se si desidera che il testo del div #mainContent riempia lo spazio di #sidebar1 quando il contenuto di #sidebar1 finisce.
3. Per evitare il problema del 'float drop', può essere necessario eseguire una prova per determinare le dimensioni massime approssimative dell'immagine o elemento, poiché questo layout è basato sulle dimensioni di carattere dell'utente combinate con i valori impostati. Tuttavia, se nel browser dell'utente la dimensione del carattere è impostata su un valore più basso del normale, nel div #mainContent sarà disponibile meno spazio di quello evidenziato nella prova.
4. Nel commento condizionale di Internet Explorer riportato di seguito, la proprietà zoom viene utilizzata per assegnare "hasLayout" a mainContent, al fine di evitare vari bug specifici di IE che potrebbero verificarsi.
*/
.twoColElsLtHdr #mainContent {
	margin: 0 1.5em 0 13em; /* il margine destro può essere specificato in ems o pixel. Crea lo spazio lungo il lato destro della pagina. */
} 
.twoColElsLtHdr #footer { 
	padding: 0 10px; /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sovrastanti. */
	background:#DDDDDD;
	font-size:10px;
	text-align:center;
} 
.twoColElsLtHdr #footer p {
	margin: 0; /* azzerando il valore margin del primo elemento del footer si evita il rischio di compressione del margine, con la creazione di uno spazio tra i div */
	padding: 10px 0; /* il padding di questo elemento crea uno spazio, così come avverrebbe specificando un valore margin, senza il problema della compressione del margine */
}

/* Classi varie riutilizzabili */
.fltrt { /* questa classe può essere utilizzata per rendere mobile un elemento a destra nella pagina. L'elemento reso mobile deve precedere l'elemento al quale deve essere affiancato sulla pagina. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* questa classe può essere utilizzata per rendere mobile un elemento a sinistra nella pagina.*/
	float: left;
	margin-right: 8px;
}
.clearfloat { /* questa classe deve essere inserita in un elemento div o break e deve essere l'elemento finale prima della chiusura di un contenitore che deve contenere per intero un elemento mobile */
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}

